Typically, software applications are written to allow for many degrees of freedom in their configuration. When leveraging this characteristic, various users are able to set up a particular software application to perform in a manner that is specific to each of the users. Thus, these freedoms incorporated in a single software application enable the software application to produce disparate results.
This type of software application is utilized by application-service providers (ASPs) that allow users to remotely manipulate the application via the Internet. Because the software application includes degrees of freedom, the user may provide performance requirements to the ASPs to manually program into the application. Further, most software applications include separate underlying elements that must be individually identified and manually programmed so that the software application may express the performance requirements. The process of manually programming the underlying elements according to received performance requirements is labor-intensive and error-prone. Accordingly, this ad hoc method for customizing a software application introduces brittleness into the provision of the software application from the ASPs. These shortcomings of manual programming are exaggerated when a multitude of users are continually offering, and changing, their respective performance requirements.